package mao.genericity;

import java.util.Comparator;

/**
 * @author Totoro
 * @date 2020/7/22
 * @explain: 对于泛型的理解。
 */
public class Generic  {
    public static void main(String[] args) {
        IntegerComparator<? extends Integer> ic = new IntegerComparator<Integer>();  //实际被创建的在这里。
        //从Number到？ extends Number 的转换。
        IntegerComparator<? extends Number> in = ic;  //发生类型的转换
        Class<?> clazz = Integer.class;
    }
}

class IntegerComparator<T> implements Comparator<T>{

    @Override
    public int compare(T o1, T o2) {
        if (o1 instanceof Integer && o2 instanceof Integer){
            return (Integer)o1-(Integer)o2;
        }
        return -1;
    }
}
